{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "73bd968b-d970-4a05-94ef-4e7abf990827",
   "metadata": {},
   "source": [
    "Chapter XX\n",
    "\n",
    "# XXXX\n",
    "Book_4《矩阵力量》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa5baa95-fc0a-4142-be50-766981310b0d",
   "metadata": {},
   "source": [
    "该代码从数学角度执行以下操作：\n",
    "\n",
    "1. **定义角度并计算余弦值**\n",
    "\n",
    "   首先，代码定义了三个向量之间的角度：\n",
    "\n",
    "   $$\n",
    "   \\theta_{12} = 135^\\circ, \\quad \\theta_{13} = 60^\\circ, \\quad \\theta_{23} = 120^\\circ\n",
    "   $$\n",
    "\n",
    "   然后，计算这些角度的余弦值：\n",
    "\n",
    "   $$\n",
    "   \\cos\\theta_{12} = \\cos(135^\\circ) = -\\frac{\\sqrt{2}}{2}\n",
    "   $$\n",
    "\n",
    "   $$\n",
    "   \\cos\\theta_{13} = \\cos(60^\\circ) = \\frac{1}{2}\n",
    "   $$\n",
    "\n",
    "   $$\n",
    "   \\cos\\theta_{23} = \\cos(120^\\circ) = -\\frac{1}{2}\n",
    "   $$\n",
    "\n",
    "2. **构建协方差矩阵 $P$**\n",
    "\n",
    "   使用上述余弦值，构建对称的协方差矩阵 $P$，其中对角线元素为 $1$，表示每个向量与自身的内积为 $1$，非对角线元素为对应向量之间的余弦值：\n",
    "\n",
    "   $$\n",
    "   P = \\begin{bmatrix}\n",
    "   1 & \\cos\\theta_{12} & \\cos\\theta_{13} \\\\\n",
    "   \\cos\\theta_{12} & 1 & \\cos\\theta_{23} \\\\\n",
    "   \\cos\\theta_{13} & \\cos\\theta_{23} & 1 \\\\\n",
    "   \\end{bmatrix}\n",
    "   $$\n",
    "\n",
    "   代入已计算的余弦值：\n",
    "\n",
    "   $$\n",
    "   P = \\begin{bmatrix}\n",
    "   1 & -\\frac{\\sqrt{2}}{2} & \\frac{1}{2} \\\\\n",
    "   -\\frac{\\sqrt{2}}{2} & 1 & -\\frac{1}{2} \\\\\n",
    "   \\frac{1}{2} & -\\frac{1}{2} & 1 \\\\\n",
    "   \\end{bmatrix}\n",
    "   $$\n",
    "\n",
    "3. **进行 Cholesky 分解**\n",
    "\n",
    "   对协方差矩阵 $P$ 进行 Cholesky 分解，将其分解为一个下三角矩阵 $L$ 与其转置的乘积：\n",
    "\n",
    "   $$\n",
    "   P = L L^\\top\n",
    "   $$\n",
    "\n",
    "   其中，$L$ 是下三角矩阵，满足：\n",
    "\n",
    "   $$\n",
    "   L = \\begin{bmatrix}\n",
    "   l_{11} & 0 & 0 \\\\\n",
    "   l_{21} & l_{22} & 0 \\\\\n",
    "   l_{31} & l_{32} & l_{33} \\\\\n",
    "   \\end{bmatrix}\n",
    "   $$\n",
    "\n",
    "   具体的矩阵 $L$ 由代码计算得出。\n",
    "\n",
    "4. **计算矩阵 $R$**\n",
    "\n",
    "   定义矩阵 $R$ 为 $L$ 的转置：\n",
    "\n",
    "   $$\n",
    "   R = L^\\top\n",
    "   $$\n",
    "\n",
    "   因此，$R$ 为上三角矩阵：\n",
    "\n",
    "   $$\n",
    "   R = \\begin{bmatrix}\n",
    "   l_{11} & l_{21} & l_{31} \\\\\n",
    "   0 & l_{22} & l_{32} \\\\\n",
    "   0 & 0 & l_{33} \\\\\n",
    "   \\end{bmatrix}\n",
    "   $$\n",
    "\n",
    "5. **提取列向量**\n",
    "\n",
    "   从矩阵 $R$ 中提取列向量 $\\mathbf{v}_1, \\mathbf{v}_2, \\mathbf{v}_3$：\n",
    "\n",
    "   $$\n",
    "   \\mathbf{v}_1 = \\begin{bmatrix} r_{11} \\\\ 0 \\\\ 0 \\end{bmatrix}, \\quad\n",
    "   \\mathbf{v}_2 = \\begin{bmatrix} r_{21} \\\\ r_{22} \\\\ 0 \\end{bmatrix}, \\quad\n",
    "   \\mathbf{v}_3 = \\begin{bmatrix} r_{31} \\\\ r_{32} \\\\ r_{33} \\end{bmatrix}\n",
    "   $$\n",
    "\n",
    "   这些向量代表了在新坐标系中的基向量。\n",
    "\n",
    "6. **计算向量长度**\n",
    "\n",
    "   为了在图形中正确展示，计算每个向量的长度（范数）：\n",
    "\n",
    "   $$\n",
    "   \\|\\mathbf{v}_i\\| = \\sqrt{v_{i1}^2 + v_{i2}^2 + v_{i3}^2}\n",
    "   $$\n",
    "\n",
    "   其中，$v_{ij}$ 是向量 $\\mathbf{v}_i$ 的分量。\n",
    "\n",
    "7. **在三维空间中绘制向量**\n",
    "\n",
    "   使用 Matplotlib 的三维绘图功能，将这些向量从原点 $(0, 0, 0)$ 开始绘制出来：\n",
    "\n",
    "   - **向量绘制**：每个向量 $\\mathbf{v}_i$ 被绘制为从原点出发的箭头，方向由向量的分量决定，长度由向量的范数决定。\n",
    "   - **颜色设置**：为每个向量指定不同的颜色，以便区分。\n",
    "\n",
    "8. **设置图形参数**\n",
    "\n",
    "   - **坐标轴范围**：将 $x, y, z$ 轴的范围都设置为 $[-1, 1]$，确保所有向量都在视野范围内。\n",
    "   - **标签和刻度**：设置坐标轴的标签为 $x$、$y$、$z$，并隐藏刻度标签以简化图形。\n",
    "   - **视角设置**：将视角设置为仰角 $35^\\circ$，方位角 $60^\\circ$，以获得最佳的三维效果。\n",
    "   - **投影类型**：选择正交投影（`ortho`），避免透视失真。\n",
    "   - **比例设置**：确保三个坐标轴的比例相同，保持向量的真实方向和长度。\n",
    "\n",
    "**数学解释**\n",
    "\n",
    "- **协方差矩阵 $P$ 的构建**：协方差矩阵表示了向量之间的关系，其中元素 $P_{ij}$ 表示向量 $\\mathbf{v}_i$ 和 $\\mathbf{v}_j$ 之间的内积：\n",
    "\n",
    "  $$\n",
    "  P_{ij} = \\cos\\theta_{ij}\n",
    "  $$\n",
    "\n",
    "- **Cholesky 分解的作用**：通过将协方差矩阵分解为 $P = L L^\\top$，我们得到了一个可以用于生成相互正交的向量集的下三角矩阵 $L$。\n",
    "\n",
    "- **向量的获取**：矩阵 $R = L^\\top$ 的列向量代表了在新的正交基下的向量，这些向量之间的内积满足最初设定的角度关系。\n",
    "\n",
    "**关键公式**\n",
    "\n",
    "- **角度的余弦关系**：\n",
    "\n",
    "  $$\n",
    "  \\cos\\theta_{ij} = \\frac{\\mathbf{v}_i \\cdot \\mathbf{v}_j}{\\|\\mathbf{v}_i\\| \\|\\mathbf{v}_j\\|}\n",
    "  $$\n",
    "\n",
    "- **协方差矩阵**：\n",
    "\n",
    "  $$\n",
    "  P = \\begin{bmatrix}\n",
    "  1 & \\cos\\theta_{12} & \\cos\\theta_{13} \\\\\n",
    "  \\cos\\theta_{12} & 1 & \\cos\\theta_{23} \\\\\n",
    "  \\cos\\theta_{13} & \\cos\\theta_{23} & 1 \\\\\n",
    "  \\end{bmatrix}\n",
    "  $$\n",
    "\n",
    "- **Cholesky 分解**：\n",
    "\n",
    "  $$\n",
    "  P = L L^\\top\n",
    "  $$\n",
    "\n",
    "- **向量范数（长度）**：\n",
    "\n",
    "  $$\n",
    "  \\|\\mathbf{v}\\| = \\sqrt{v_1^2 + v_2^2 + v_3^2}\n",
    "  $$\n",
    "\n",
    "**总结**\n",
    "\n",
    "该代码展示了如何：\n",
    "\n",
    "- **构建协方差矩阵**，以表示向量之间的角度关系。\n",
    "- **利用 Cholesky 分解**，将协方差矩阵分解为下三角矩阵与其转置的乘积，从而获取一组新的向量。\n",
    "- **在三维空间中可视化**，通过绘制向量，直观地展示了它们之间的角度关系和方向。\n",
    "\n",
    "此过程在**线性代数**和**统计学**中具有重要意义，常用于**主成分分析（PCA）**、**数据降维**和**特征向量分解**等领域。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9ac00db0-a85b-4842-b415-eda6cc7a009c",
   "metadata": {},
   "source": [
    "## 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6cbd8f25-4da8-47ec-b845-2d750eef5f69",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt  # 导入绘图库\n",
    "from mpl_toolkits.mplot3d import Axes3D  # 导入三维绘图工具\n",
    "import numpy as np  # 导入数值计算库\n",
    "import math as m  # 导入数学函数库"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dabfa173-df7f-4f10-80d2-a6df0674b9d5",
   "metadata": {},
   "source": [
    "## 定义余弦角度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "070234d6-6530-40d9-a43d-7f1018c00c3d",
   "metadata": {},
   "outputs": [],
   "source": [
    "cos_theta_12 = np.cos(m.radians(135))  # 余弦 135 度\n",
    "cos_theta_13 = np.cos(m.radians(60))  # 余弦 60 度\n",
    "cos_theta_23 = np.cos(m.radians(120))  # 余弦 120 度"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8812171f-d368-44d3-a955-bbadf60410a4",
   "metadata": {},
   "source": [
    "## 定义协方差矩阵 P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8f9ad401-9e85-46ff-af43-3b88c76e662d",
   "metadata": {},
   "outputs": [],
   "source": [
    "P = np.array([[1, cos_theta_12, cos_theta_13],\n",
    "              [cos_theta_12, 1, cos_theta_23],\n",
    "              [cos_theta_13, cos_theta_23, 1]])  # 协方差矩阵"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7750824d-6b73-4977-9c0a-7d484655172c",
   "metadata": {},
   "source": [
    "## Cholesky 分解"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c32b3ead-789b-4685-a1b8-0f1f46259411",
   "metadata": {},
   "outputs": [],
   "source": [
    "L = np.linalg.cholesky(P)  # 获取下三角矩阵 L\n",
    "R = L.T  # R 矩阵为 L 的转置"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9a23a9df-b679-4a67-8f21-772e3d7e7c27",
   "metadata": {},
   "source": [
    "## 三维可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e4ebc50e-5f62-4d1e-96e7-12157fdff145",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(projection='3d')\n",
    "\n",
    "plt.plot(0, 0, 0, color='r', marker='x',  # 在原点绘制红色 x 标记\n",
    "         markersize=12)\n",
    "\n",
    "colors = ['b', 'r', 'g']  # 向量颜色\n",
    "for i in np.arange(0, 3):  # 遍历列向量\n",
    "    vector = R[:, i]\n",
    "    v = np.array([vector[0], vector[1], vector[2]])  # 提取列向量\n",
    "    vlength = np.linalg.norm(v)  # 计算向量长度\n",
    "    ax.quiver(0, 0, 0, vector[0], vector[1], vector[2],  # 绘制三维箭头表示向量\n",
    "              length=vlength, color=colors[i])\n",
    "\n",
    "ax.set_xlim([-1, 1])  # 设置 x 轴范围\n",
    "ax.set_ylim([-1, 1])  # 设置 y 轴范围\n",
    "ax.set_zlim([-1, 1])  # 设置 z 轴范围\n",
    "\n",
    "ax.set_xlabel('x')  # x 轴标签\n",
    "ax.set_ylabel('y')  # y 轴标签\n",
    "ax.set_zlabel('z')  # z 轴标签\n",
    "\n",
    "ax.xaxis.set_ticklabels([])  # 隐藏 x 轴刻度标签\n",
    "ax.yaxis.set_ticklabels([])  # 隐藏 y 轴刻度标签\n",
    "ax.zaxis.set_ticklabels([])  # 隐藏 z 轴刻度标签\n",
    "ax.view_init(35, 60)  # 设置视角\n",
    "ax.set_proj_type('ortho')  # 设置正交投影\n",
    "ax.set_box_aspect([1, 1, 1])  # 设置各轴比例相等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85a80909-2aac-49ed-bb7a-f8cc6b80ee7d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ecd322f4-f919-4be2-adc3-69d28ef25e69",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
